package org.grayrabbit.cms.entity;

// Generated 2012-1-5 15:59:28 by Hibernate Tools 3.3.0.GA

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.GenericGenerator;

/**
 * CmsContentComment generated by hbm2java
 */
@Entity
@Table(name = "CMS_CONTENT_COMMENT")
public class ContentComment implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String commentId;
	private ContentComment contentComment;
	private Content content;
	private String commentIp;
	private String commentContent;
	private Date createTime;
	private String createLoginName;
	private String createRealName;
	private String updateLoginName;
	private String updateRealName;
	private Date updateTime;
	private String auditLoginName;
	private String auditRealName;
	private Date auditTime;
	private Integer commentStatus;
	private Set<ContentComment> contentComments = new HashSet<ContentComment>(
			0);

	 

	@Id
	@Column(name = "COMMENT_ID", unique = true, nullable = false, length = 32)
	@GeneratedValue(generator = "paymentableGenerator")       
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid") 
	public String getCommentId() {
		return this.commentId;
	}

	public void setCommentId(String commentId) {
		this.commentId = commentId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "PARENT_ID")
	public ContentComment getContentComment() {
		return this.contentComment;
	}

	public void setContentComment(ContentComment contentComment) {
		this.contentComment = contentComment;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CONTENT_ID")
	public Content getContent() {
		return this.content;
	}

	public void setContent(Content content) {
		this.content = content;
	}

	@Column(name = "COMMENT_IP", length = 64)
	public String getCommentIp() {
		return this.commentIp;
	}

	public void setCommentIp(String commentIp) {
		this.commentIp = commentIp;
	}

	@Column(name = "COMMENT_CONTENT", length = 4000)
	public String getCommentContent() {
		return this.commentContent;
	}

	public void setCommentContent(String commentContent) {
		this.commentContent = commentContent;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "CREATE_TIME", length = 7)
	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Column(name = "CREATE_LOGIN_NAME", length = 64)
	public String getCreateLoginName() {
		return this.createLoginName;
	}

	public void setCreateLoginName(String createLoginName) {
		this.createLoginName = createLoginName;
	}

	@Column(name = "CREATE_REAL_NAME", length = 64)
	public String getCreateRealName() {
		return this.createRealName;
	}

	public void setCreateRealName(String createRealName) {
		this.createRealName = createRealName;
	}

	@Column(name = "UPDATE_LOGIN_NAME", length = 64)
	public String getUpdateLoginName() {
		return this.updateLoginName;
	}

	public void setUpdateLoginName(String updateLoginName) {
		this.updateLoginName = updateLoginName;
	}

	@Column(name = "UPDATE_REAL_NAME", length = 64)
	public String getUpdateRealName() {
		return this.updateRealName;
	}

	public void setUpdateRealName(String updateRealName) {
		this.updateRealName = updateRealName;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "UPDATE_TIME", length = 7)
	public Date getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	@Column(name = "AUDIT_LOGIN_NAME", length = 64)
	public String getAuditLoginName() {
		return this.auditLoginName;
	}

	public void setAuditLoginName(String auditLoginName) {
		this.auditLoginName = auditLoginName;
	}

	@Column(name = "AUDIT_REAL_NAME", length = 64)
	public String getAuditRealName() {
		return this.auditRealName;
	}

	public void setAuditRealName(String auditRealName) {
		this.auditRealName = auditRealName;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "AUDIT_TIME", length = 7)
	public Date getAuditTime() {
		return this.auditTime;
	}

	public void setAuditTime(Date auditTime) {
		this.auditTime = auditTime;
	}

	@Column(name = "COMMENT_STATUS", precision = 6, scale = 0)
	public Integer getCommentStatus() {
		return this.commentStatus;
	}

	public void setCommentStatus(Integer commentStatus) {
		this.commentStatus = commentStatus;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "contentComment")
	public Set<ContentComment> getContentComments() {
		return this.contentComments;
	}

	public void setContentComments(Set<ContentComment> contentComments) {
		this.contentComments = contentComments;
	}

}
